<?php
/* TODO: Add code here */
require('config/globalconfig.php');
?>

<?php
function uploadImage($fileName, $maxSize, $maxW, $fullPath, $relPath, $colorR, $colorG, $colorB, $maxH = null){
	$errorList = array();
	$folder = $relPath;
	$maxlimit = $maxSize;
	$allowed_ext = "jpg,jpeg,gif,png,bmp";
	$match = "";
	$filesize = $_FILES[$fileName]['size'];
	if($filesize > 0){	
		$filename = strtolower($_FILES[$fileName]['name']);
		$filename = preg_replace('/\s/', '_', $filename);
		if($filesize < 1){ 
			$errorList[] = "File size is empty.";
		}
		if($filesize > $maxlimit){ 
			$errorList[] = "File size is too big.";
		}
		$file_ext = preg_split("/\./",$filename);
		$allowed_ext = preg_split("/\,/",$allowed_ext);
		foreach($allowed_ext as $ext){
			if($ext==end($file_ext)){
				$match = "1"; // File is allowed
				$NUM = time();
				$front_name = substr($file_ext[0], 0, 15);
				//$newfilename = $front_name."_".$NUM.".".end($file_ext);
				$newfilename = $fileName;
				$filetype = end($file_ext);
				$save = $folder.$newfilename;
				//cho phép ghi đè
				if(!file_exists($save) || 1==1)
				{
					list($width_orig, $height_orig) = getimagesize($_FILES[$fileName]['tmp_name']);
					if($maxH == null){
						if($width_orig < $maxW){
							$fwidth = $width_orig;
						}else{
							$fwidth = $maxW;
						}
						$ratio_orig = $width_orig/$height_orig;
						$fheight = $fwidth/$ratio_orig;
						
						$blank_height = $fheight;
						$top_offset = 0;
						
					}else{
						if($width_orig <= $maxW && $height_orig <= $maxH){
							$fheight = $height_orig;
							$fwidth = $width_orig;
						}else{
							if($width_orig > $maxW){
								$ratio = ($width_orig / $maxW);
								$fwidth = $maxW;
								$fheight = ($height_orig / $ratio);
								if($fheight > $maxH){
									$ratio = ($fheight / $maxH);
									$fheight = $maxH;
									$fwidth = ($fwidth / $ratio);
								}
							}
							if($height_orig > $maxH){
								$ratio = ($height_orig / $maxH);
								$fheight = $maxH;
								$fwidth = ($width_orig / $ratio);
								if($fwidth > $maxW){
									$ratio = ($fwidth / $maxW);
									$fwidth = $maxW;
									$fheight = ($fheight / $ratio);
								}
							}
						}
						if($fheight == 0 || $fwidth == 0 || $height_orig == 0 || $width_orig == 0){
							die("FATAL ERROR REPORT ERROR CODE [add-pic-line-67-orig] to <a href='http://www.atwebresults.com'>AT WEB RESULTS</a>");
						}
						if($fheight < 45){
							$blank_height = 45;
							$top_offset = round(($blank_height - $fheight)/2);
						}else{
							$blank_height = $fheight;
						}
					}
					$image_p = imagecreatetruecolor($fwidth, $blank_height);
					$white = imagecolorallocate($image_p, $colorR, $colorG, $colorB);
					imagefill($image_p, 0, 0, $white);
					switch($filetype){
						case "gif":
							$image = @imagecreatefromgif($_FILES[$fileName]['tmp_name']);
							break;
						case "jpg":
							$image = @imagecreatefromjpeg($_FILES[$fileName]['tmp_name']);
							break;
						case "jpeg":
							$image = @imagecreatefromjpeg($_FILES[$fileName]['tmp_name']);
							break;
						case "png":
							$image = @imagecreatefrompng($_FILES[$fileName]['tmp_name']);
							break;
					}
					@imagecopyresampled($image_p, $image, 0, $top_offset, 0, 0, $fwidth, $fheight, $width_orig, $height_orig);
					switch($filetype){
						case "gif":
							if(!@imagegif($image_p, $save)){
								$errorList[]= "PERMISSION DENIED [GIF]";
							}
							break;
						case "jpg":
							if(!@imagejpeg($image_p, $save, 100)){
								$errorList[]= "PERMISSION DENIED [JPG]";
							}
							break;
						case "jpeg":
							if(!@imagejpeg($image_p, $save, 100)){
								$errorList[]= "PERMISSION DENIED [JPEG]";
							}
							break;
						case "png":
							
							if(!@imagepng($image_p, $save, 0)){
								$errorList[]= "PERMISSION DENIED [PNG]".$save;
							}
							break;
					}
					@imagedestroy($filename);
				}else{
					$errorList[]= "CANNOT MAKE IMAGE IT ALREADY EXISTS";
				}	
			}
		}		
	}else{
		$errorList[]= "NO FILE SELECTED";
	}
	if(!$match){
		$errorList[]= "File type isn't allowed: $filename";
	}
	if(sizeof($errorList) == 0){
		return $relPath.$newfilename;
	}else{
		$eMessage = array();
		for ($x=0; $x<sizeof($errorList); $x++){
			$eMessage[] = $errorList[$x];
		}
		return $eMessage;
	}
}
if(isset($_REQUEST['url']))
{
	$url = $_REQUEST['url'];
	//1. Method file_Get contents
	$contents= file_get_contents($url);
	//2.Method fsockopen
	//$contents=GetImg("www.google.com","/intl/en_ALL/images/logo.gif");
	//$contents=strchr($contents,"\r\n\r\n");//removes headers
	//$contents=ltrim($contents);//remove whitespaces from begin of the string
	//3. Method CURL
	//$contents = GetImageFromUrl("http://www.google.com/intl/en_ALL/images/logo.gif");
	$savefile = fopen('images/products/name', 'w');
	fwrite($savefile, $contents);
	fclose($savefile);
	$imgUploaded = true;
	$upload_image = "images/products/name?v=".user_common::getMicrotime();
	$strHTML ='<img src="images/success.gif" width="16" height="16" border="0" style="marin-bottom: -4px;" /> Success!<br /><img src="'.$upload_image.'" border="0" width="300px" height="300px"/>';
	//$arrHeader = user_common::getMessageHeaderArr($banCode);//$banCode
	//echo user_common::convertToXML($arrHeader, array("rs",'info'), array(1,$strHTML), array(0,1));
	echo user_common::convertToXML($strMessageHeader, array('rs','inf'), array(1,$strHTML),array(0,1));
	return;
}
else
{
	
	$filename = strip_tags($_REQUEST['filename']);
	$maxSize = strip_tags($_REQUEST['maxSize']);
	$maxW = strip_tags($_REQUEST['maxW']);
	if (isset($_REQUEST['fullPath'])) {
		$fullPath = strip_tags($_REQUEST['fullPath']);
	}
	else
	{
		$fullPath='';
	}
	$relPath = strip_tags($_REQUEST['relPath']);
	$colorR = strip_tags($_REQUEST['colorR']);
	$colorG = strip_tags($_REQUEST['colorG']);
	$colorB = strip_tags($_REQUEST['colorB']);
	$maxH = strip_tags($_REQUEST['maxH']);
	
	$filesize_image = $_FILES[$filename]['size'];
	if($filesize_image > 0){
		$upload_image = uploadImage($filename, $maxSize, $maxW, $fullPath, $relPath, $colorR, $colorG, $colorB, $maxH);
		if(is_array($upload_image)){
			foreach($upload_image as $key => $value) {
				if($value == "-ERROR-") {
					unset($upload_image[$key]);
				}
			}
			$document = array_values($upload_image);
			for ($x=0; $x<sizeof($document); $x++){
				$errorList[] = $document[$x];
			}
			$imgUploaded = false;
		}else{
			$imgUploaded = true;
		}
	}else{
		$imgUploaded = false;
		$errorList[] = "File Size Empty";
	}
}
?>
<?php
if($imgUploaded){
	echo '<img src="images/success.gif" width="16" height="16" border="0" style="marin-bottom: -4px;" /> Success!<br /><img src="'.$upload_image.'" border="0" width="300px" height="300px" />';
}else{
	echo '<img src="images/error.gif" width="16" height="16px" border="0" style="marin-bottom: -3px;" /> Error(s) Found: ';
	foreach($errorList as $value){
		//echo $value.', ';
	}
}
?>